import { Context } from 'koa';
import * as customerFuns from './funs';

export class CustomerController {
    /**
     * 获取客户列表
     * @description 分页获取客户列表，支持搜索和筛选
     * @param ctx - Koa上下文对象
     */
    async getCustomerList(ctx: Context) {
        await customerFuns.getCustomerList(ctx);
    }

    /**
     * 获取客户详情
     * @description 根据客户ID获取详细信息
     * @param ctx - Koa上下文对象
     */
    async getCustomerDetail(ctx: Context) {
        await customerFuns.getCustomerDetail(ctx);
    }

    /**
     * 创建客户
     * @description 创建新的客户记录
     * @param ctx - Koa上下文对象
     */
    async createCustomer(ctx: Context) {
        await customerFuns.createCustomer(ctx);
    }

    /**
     * 更新客户信息
     * @description 更新指定客户的信息
     * @param ctx - Koa上下文对象
     */
    async updateCustomer(ctx: Context) {
        await customerFuns.updateCustomer(ctx);
    }

    /**
     * 删除客户
     * @description 软删除指定的客户记录
     * @param ctx - Koa上下文对象
     */
    async deleteCustomer(ctx: Context) {
        await customerFuns.deleteCustomer(ctx);
    }

    /**
     * 创建客户储值卡
     * @description 为指定客户创建新的储值卡
     * @param ctx - Koa上下文对象
     */
    async createStoredValueCard(ctx: Context) {
        await customerFuns.createStoredValueCard(ctx);
    }

    /**
     * 获取指定客户的会员卡列表
     * @description 根据客户ID获取该客户的所有会员卡
     * @param ctx - Koa上下文对象
     */
    async getCustomerStoredValueCards(ctx: Context) {
        await customerFuns.getCustomerStoredValueCards(ctx);
    }
}

export default new CustomerController();
